
# 目标文件名（可根据需要修改）
TARGET = ./lab2.2

OBJ_DIR = ./bin

SRC_DIR = ./src

# 收集当前目录下的所有 .c 文件
SRCS = $(wildcard $(SRC_DIR)/*.cpp)

# 生成的目标对象文件
OBJS = $(patsubst $(SRC_DIR)/%.cpp, $(OBJ_DIR)/%.o, $(SRCS))
#OBJS = $(SRCS:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)

# 编译器和编译选项
CC = g++
CFLAGS = -Wall -g

# 链接器选项
LDFLAGS =

# 默认目标，编译链接最终程序
$(TARGET): $(OBJS)
	$(CC) $(OBJS) -o $(TARGET) $(LDFLAGS)

# 规则：如何从 .c 文件生成 .o 文件
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
	$(CC) $(CFLAGS) -c $< -o $@

run: $(TARGET)
	$(TARGET)

# 清理生成的文件
clean:
	rm -f $(OBJS) $(TARGET)

cleanobj:
	rm -f $(OBJS)

# 伪目标
.PHONY: clean cleanobj
